#include <bits/stdc++.h>
#include <string>
using namespace std;

int n;
char s[101];
char c[2] = {'(', ')'};
// 判断括号是否合法
void checkout()
{
	int len = 2 * n;
	char ss[len];
	for (int i = 0; i < len; i++)
	{
		ss[i] = s[i];
	}
	for (int i = 0; i < len; i++)
	{
		if (i>0 && ss[i] == ')' && ss[i - 1] == '(')
		{
			for (int j = i + 1; j < len; j++)
			{
				ss[j - 2] = ss[j];
			};
			len -= 2;
			i-=2;
			
		}
	}
	//cout << s << endl;
	if(!len) cout << s << endl;
}
/** 
 * len:当前再第几位插入符号'(',')'  
 * leftTime: '('用了几次
 * rightTime: ')'用了几次
 */
void dfs(int len, int leftTime, int rightTime)
{
	if (len == 2 * n)
	{
	    checkout();
		return;
	}
	for (int i = 0; i < 2; i++)
	{
		if (!i && leftTime < n)
		{ // '('
			s[len] = c[i];
			dfs(len + 1, leftTime + 1, rightTime);
		}
		if (i && rightTime < n)
		{ // ')'
			s[len] = c[i];
			dfs(len + 1, leftTime, rightTime + 1);
		}
	}
}
int main()
{
	cin >> n;
	dfs(0, 0, 0);
	return 0;
}
